package com.tledu.homework;

import java.util.Objects;

public class Student {
    private int studentNum;
    private String name;

    public Student(int studentNum, String name) {
        this.studentNum = studentNum;
        this.name = name;
    }

    public int getStudentNum() {
        return studentNum;
    }

    public void setStudentNum(int studentNum) {
        this.studentNum = studentNum;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    // 如果不重写equals和hasCode方法，默认比较对象的时候，比较的时候对象的地址
    @Override
    public boolean equals(Object o) {
        // 写我们自己的比较逻辑
        if(o == null){
            return false;
        }
        if (!(o instanceof Student)) {
            return false;
        }
        // 比较属性
        Student stu = (Student) o;
        // 只要学号相等，就认为是一个学生
        return stu.getStudentNum() == this.studentNum;
    }


    @Override
    public int hashCode() {
        // Objects提供了一个计算hash值的方法，可以通过这个方法计算多个属性的hash值
//        return Objects.hash(this.studentNum);
        return this.studentNum;
    }
}
